home *** CD-ROM | disk | FTP | other *** search
/ Apple Reference & Presen…tion Library 4 (Reseller) / Apple Ref. & Pres. Lib.v4.0.iso / 5-Fonts & Software / Demo Software / Wingz / Scripts / ttt (.txt) < prev   
Wingz Script  |  1989-02-08  |  20KB  |  568 lines

  1. WNGZWZSC01b1
  2.     Helvetica
  3. Bious
  4. Congratulations!  You won!
  5. Sorry, Wingz won. Try again!
  6. Congratulations!  You won!
  7. Sorry, Wingz won. Try again!
  8. Congratulations!  You won!
  9. Sorry, Wingz won. Try again!
  10. Congratulations!  You won!
  11. Sorry, Wingz won. Try again!
  12. Congratulations!  You won!
  13. Sorry, Wingz won. Try again!
  14. Congratulations!  You won!
  15. Sorry, Wingz won. Try again!
  16. Congratulations!  You won!
  17. Sorry, Wingz won. Try again!
  18. Congratulations!  You won!
  19. Sorry, Wingz won. Try again!
  20. Cat game. Play again.
  21. catwon
  22. player
  23. nmove
  24. flag    
  25. catwonp
  26. define player,go,c,r,c1,r1,won,rep,nmove,flag
  27. rep = 0
  28. won = 0
  29. function comp()
  30.     won = 0
  31.     if player = 0
  32.         wait for 2 seconds
  33.         put "O" into c7
  34.         player = 3
  35.         exit function
  36.     end if { end of player = 0 }
  37.     if nmove = 1
  38.         if b6="O" and isblank(c6) and isblank(d6) and b7="X" and c7="O" and isblank(d7)
  39.            and isblank(b8) and isblank(c8) and d8="X"
  40.             put "O" into d6
  41.             nmove = 0
  42.             exit function
  43.         end if
  44.         if isblank(b6) and c6="X" and d6="O" and isblank(b7) and c7="O" and isblank(d7)
  45.            and b8="X" and isblank(c8) and isblank(d8)
  46.             put "O" into d8
  47.             nmove = 0
  48.             exit function
  49.         end if
  50.         if b6="X" and isblank(c6) and isblank(d6) and isblank(b7) and c7="O" and d7="X"
  51.            and isblank(b8) and isblank(c8) and d8="O"
  52.             put "O" into b8
  53.             nmove = 0
  54.             exit function
  55.         end if
  56.         if isblank(b6) and isblank(c6) and d6="X" and isblank(b7) and c7="O" and isblank(d7)
  57.            and b8="O" and c8="X" and isblank(d8)
  58.             put "O" into b6
  59.             nmove = 0
  60.             exit function
  61.         end if
  62.     end if { end of nmove = 1 } 
  63.     if player <> 0
  64.         if isblank(b6) and isblank(c6) and isblank(d6) and isblank(b7) and isblank(d7) and 
  65.            isblank(b8) and isblank(c8) and isblank(d8) and c7="X"
  66.             put "O" into b6
  67.             exit function
  68.         end if
  69.         if b6="X" and isblank(c6) and isblank(d6) and isblank(b7) and isblank(d7) and 
  70.            isblank(b8) and isblank(c8) and isblank(d8) and isblank(c7)
  71.             put "O" into c7
  72.             exit function
  73.         end if
  74.         if isblank(b6) and c6="X" and isblank(d6) and isblank(b7) and isblank(d7) and 
  75.            isblank(b8) and isblank(c8) and isblank(d8) and isblank(c7)
  76.             put "O" into c7
  77.             exit function
  78.         end if
  79.         if isblank(b6) and isblank(c6) and isblank(d6) and b7="X" and isblank(d7) and 
  80.            isblank(b8) and isblank(c8) and isblank(d8) and isblank(c7)
  81.             put "O" into c7
  82.             exit function
  83.         end if
  84.         if isblank(b6) and isblank(c6) and isblank(d6) and isblank(b7) and d7="X" and 
  85.            isblank(b8) and isblank(c8) and isblank(d8) and isblank(c7)
  86.             put "O" into c7
  87.             exit function
  88.         end if
  89.         if isblank(b6) and isblank(c6) and isblank(d6) and isblank(b7) and isblank(d7) and 
  90.            b8="X" and isblank(c8) and isblank(d8) and isblank(c7)
  91.             put "O" into c7
  92.             exit function
  93.         end if
  94.         if isblank(b6) and isblank(c6) and isblank(d6) and isblank(b7) and isblank(d7) and 
  95.            isblank(b8) and c8="X" and isblank(d8) and isblank(c7)
  96.             put "O" into c7
  97.             exit function
  98.         end if
  99.         if isblank(b6) and isblank(c6) and isblank(d6) and isblank(b7) and isblank(d7) and 
  100.            isblank(b8) and isblank(c8) and d8="X" and isblank(c7)
  101.             put "O" into c7
  102.             exit function
  103.         end if
  104.         if isblank(b6) and isblank(c6) and d6="X" and isblank(b7) and isblank(d7) and 
  105.            isblank(b8) and isblank(c8) and isblank(d8) and isblank(c7)
  106.             put "O" into c7
  107.             exit function
  108.         end if
  109.         if isblank(b6) and isblank(c6) and isblank(d6) and isblank(b7) and isblank(d7) and 
  110.            b8="X" and isblank(c8) and isblank(d8) and isblank(c7)
  111.             put "O" into c7
  112.             exit function
  113.         end if
  114.         if isblank(b6) and isblank(c6) and isblank(d6) and isblank(b7) and isblank(d7) and 
  115.            isblank(b8) and isblank(c8) and d8="X" and isblank(c7)
  116.             put "O" into c7
  117.             exit function
  118.         end if
  119.         if isblank(b6) and c6="X" and isblank(d6) and isblank(b7) and isblank(d7) and 
  120.            isblank(b8) and isblank(c8) and isblank(d8) and c7="O"
  121.             put "O" into d6
  122.             nmove = 1
  123.             exit function
  124.         end if
  125.         if isblank(b6) and isblank(c6) and isblank(d6) and isblank(b7) and d7="X" and 
  126.            isblank(b8) and isblank(c8) and isblank(d8) and c7="O"
  127.             put "O" into d8
  128.             nmove = 1
  129.             exit function
  130.         end if
  131.         if isblank(b6) and isblank(c6) and isblank(d6) and isblank(b7) and isblank(d7) and 
  132.            isblank(b8) and c8="X" and isblank(d8) and c7="O"
  133.             put "O" into b8
  134.             nmove = 1
  135.             exit function
  136.         end if
  137.         if isblank(b6) and isblank(c6) and isblank(d6) and b7="X" and isblank(d7) and 
  138.            isblank(b8) and isblank(c8) and isblank(d8) and c7="O"
  139.             put "O" into b6
  140.             nmove = 1
  141.             exit function
  142.         end if
  143.         if b6="X" and isblank(c6) and isblank(d6) and isblank(b7) and isblank(d7) and 
  144.            isblank(b8) and isblank(c8) and d8="X" and c7="O"
  145.             put "O" into b7
  146.             exit function
  147.         end if
  148.         if isblank(b6) and isblank(c6) and d6="X" and isblank(b7) and isblank(d7) and 
  149.            b8="X" and isblank(c8) and isblank(d8) and c7="O"
  150.             put "O" into d7
  151.             exit function
  152.         end if
  153.         if b6="O" 
  154.             if c6="O" and isblank(d6)
  155.                 put "O" into  d6
  156.                 call ttt:win()
  157.                 exit function
  158.             elseif isblank(c6) and d6="O"
  159.                 put "O" into  c6
  160.                 call ttt:win()
  161.                 exit function
  162.             elseif c7="O" and isblank(d8)
  163.                 put "O" into  d8
  164.                 call ttt:win()
  165.                 exit function
  166.             elseif isblank(c7) and d8="O"
  167.                 put "O" into  c7
  168.                 call ttt:win()
  169.                 exit function
  170.             elseif b7="O" and isblank(b8)
  171.                 put "O" into  b8
  172.                 call ttt:win()
  173.                 exit function
  174.             elseif isblank(b7) and b8="O"
  175.                 put "O" into  b7
  176.                 call ttt:win()
  177.                 exit function
  178.             end if
  179.         end if
  180.         if c6="O"
  181.             if c7="O" and isblank(c8)
  182.                 put "O" into  c8
  183.                 call ttt:win()
  184.                 exit function
  185.             elseif isblank(c7) and c8="O"
  186.                 put "O" into  c7
  187.                 call ttt:win()
  188.                 exit function
  189.             end if
  190.         end if
  191.         if d6="O"
  192.             if c7="O" and isblank(b8)
  193.                 put "O" into  b8
  194.                 call ttt:win()
  195.                 exit function
  196.             elseif isblank(c7) and b8="O"
  197.                 put "O" into  c7
  198.                 call ttt:win()
  199.                 exit function
  200.             elseif d7="O" and isblank(d8)
  201.                 put "O" into  d8
  202.                 call ttt:win()
  203.                 exit function
  204.             elseif isblank(d7) and d8="O"
  205.                 put "O" into  d7
  206.                 call ttt:win()
  207.                 exit function
  208.             elseif c6="O" and isblank(b6)
  209.                 put "O" into  b6
  210.                 call ttt:win()
  211.                 exit function            
  212.             end if
  213.         end if
  214.         if b7="O"
  215.             if c7="O" and isblank(d7)
  216.                 put "O" into  d7
  217.                 call ttt:win()
  218.                 exit function
  219.             elseif isblank(c7) and d7="O"
  220.                 put "O" into  c7
  221.                 call ttt:win()
  222.                 exit function
  223.             end if
  224.         end if
  225.         if d7="O"
  226.             if c7="O" and isblank(b7)
  227.                 put "O" into  b7
  228.                 call ttt:win()
  229.                 exit function
  230.             end if
  231.         end if
  232.         if b8="O"
  233.             if c7="O" and isblank(d6)
  234.                 put "O" into  d6
  235.                 call ttt:win()
  236.                 exit function
  237.             elseif c8="O" and isblank(d8)
  238.                 put "O" into  d8
  239.                 call ttt:win()
  240.                 exit function
  241.             elseif isblank(c8) and d8="O"
  242.                 put "O" into  c8
  243.                 call ttt:win()
  244.                 exit function
  245.             elseif b7="O" and isblank(b6)
  246.                 put "O" into  b6
  247.                 call ttt:win()
  248.                 exit function
  249.             end if
  250.         end if
  251.         if c8="O"
  252.             if c7="O" and isblank(c6)
  253.                 put "O" into  c6
  254.                 call ttt:win()
  255.                 exit function
  256.             end if
  257.         end if
  258.         if d8="O"
  259.             if d7="O" and isblank(d6)
  260.                 put "O" into  d6
  261.                 call ttt:win()
  262.                 exit function
  263.             elseif c8="O" and isblank(b8)
  264.                 put "O" into  b8
  265.                 call ttt:win()
  266.                 exit function
  267.             elseif c7="O" and isblank(b6)
  268.                 put "O" into  b6
  269.                 call ttt:win()
  270.                 exit function
  271.             end if
  272.         end if
  273.         if b6 = "X"
  274.             if c6="X" and isblank(d6)
  275.                 put "O" into  d6
  276.                 call ttt:win()
  277.                 exit function
  278.             elseif isblank(c6) and d6="X"
  279.                 put "O" into  c6
  280.                 call ttt:win()
  281.                 exit function
  282.             elseif b7="X" and isblank(b8)
  283.                 put "O" into b8
  284.                 call ttt:win()
  285.                 exit function
  286.             elseif isblank(b7) and b8="X"
  287.                 put "O" into b7
  288.                 call ttt:win()
  289.                 exit function
  290.             elseif c7="X" and isblank(d8)
  291.                 put "O" into d8
  292.                 call ttt:win()
  293.                 exit function
  294.             elseif isblank(c7) and d8="X"
  295.                 put "O" into c7
  296.                 call ttt:win()
  297.                 exit function        
  298.             end if
  299.         end if
  300.         if c6 = "X"
  301.             if isblank(c7) and c8="X"
  302.                 put "O" into c7
  303.                 call ttt:win()
  304.                 exit function
  305.             elseif isblank(c8) and c7="X"
  306.                 put "O" into c8
  307.                 call ttt:win()
  308.                 exit function
  309.             end if
  310.         end if
  311.         if d6="X"
  312.             if d7="X" and isblank(d8)
  313.                 put "O" into d8
  314.                 call ttt:win()
  315.                 exit function
  316.             elseif isblank(d7) and d8="X"
  317.                 put "O" into d7
  318.                 call ttt:win()
  319.                 exit function
  320.             elseif c7="X" and isblank(b8)
  321.                 put "O" into b8
  322.                 call ttt:win()
  323.                 exit function
  324.             elseif isblank(c7) and b8="X"
  325.                 put "O" into c7
  326.                 call ttt:win()
  327.                 exit function
  328.             elseif c6="X" and isblank(b6)
  329.                 put "O" into b6
  330.                 call ttt:win()
  331.                 exit function
  332.             elseif isblank(c6) and b6="X"
  333.                 put "O" into c6
  334.                 call ttt:win()
  335.                 exit function            
  336.             end if
  337.         end if
  338.         if b7="X"
  339.             if c7="X" and isblank(d7)
  340.                 put "O" into d7
  341.                 call ttt:win()
  342.                 exit function
  343.             elseif isblank(c7) and d7="X"
  344.                 put "O" into c7
  345.                 call ttt:win()
  346.                 exit function
  347.             end if
  348.         end if
  349.         if d7="X"
  350.             if c7="X" and isblank(b7)
  351.                 put "O" into b7
  352.                 call ttt:win()
  353.                 exit function
  354.             end if
  355.         end if
  356.         if b8="X"
  357.             if c8="X" and isblank(d8)
  358.                 put "O" into d8
  359.                 call ttt:win()
  360.                 exit function
  361.             elseif isblank(c8) and d8="X"
  362.                 put "O" into c8
  363.                 call ttt:win()
  364.                 exit function
  365.             elseif c7="X" and isblank(d6)
  366.                 put "O" into d6
  367.                 call ttt:win()
  368.                 exit function
  369.             elseif b7="X" and isblank(b6)
  370.                 put "O" into  b6
  371.                 call ttt:win()
  372.                 exit function
  373.             elseif isblank(b7) and b6="X"
  374.                 put "O" into  b7
  375.                 call ttt:win()
  376.                 exit function
  377.             end if
  378.         end if
  379.         if c8="X"
  380.             if isblank(c6) and c7="X"
  381.                 put "O" into c6
  382.                 call ttt:win()
  383.                 exit function
  384.             end if
  385.         end if
  386.         if d8="X"
  387.             if isblank(b6) and c7="X"
  388.                 put "O" into b6
  389.                 call ttt:win()
  390.                 exit function
  391.             elseif d7="X" and isblank(d6)
  392.                 put "O" into d6
  393.                 call ttt:win()
  394.                 exit function
  395.             elseif c8="X" and isblank(b8)
  396.                 put "O" into b8
  397.                 call ttt:win()
  398.                 exit function
  399.             elseif isblank(c8) and b8="X"
  400.                 put "O" into c8
  401.                 call ttt:win()
  402.                 exit function
  403.             end if
  404.         end if
  405.         rep = 0
  406.         repaint off
  407.         while won <> 1 or won <> 2
  408.             r = int(uniform(3)+6)
  409.             c = int(uniform(3)+2)
  410.             go to cell makecell(c,r)
  411.             if isblank(range(makecell(c,r)))
  412.                 put "O" into makecell(c,r)
  413.                 go to cell a1
  414.                 unselect
  415.                 repaint on
  416.                 repaint range makecell(c,r)
  417.                 rep = 0
  418.                 call ttt:win()
  419.                 exit while
  420.             else
  421.                 call ttt:win()
  422.                 if rep = 1
  423.                     go to cell a1
  424.                     repaint on
  425.                     repaint window
  426.                 end if
  427.             end if
  428.         end while        
  429.     end if    
  430. end function
  431. function frmt()
  432.     repaint off
  433.     select range b6..d8
  434.     text font "Helvetica"
  435.     text size 36
  436.     text style "Bious"
  437.     align center
  438.     unselect
  439.     repaint on
  440.     repaint range b6..d8
  441. end function
  442. function win()
  443.   unselect
  444.   if won=0
  445.     if (b6="X" and c6="X" and d6="X") 
  446.         message "Congratulations!  You won!"
  447.         won = 1
  448.         call ttt:clr()    
  449.         call ttt:ywon()
  450.     elseif (b6="O" and c6="O" and d6="O")
  451.         message "Sorry, Wingz won. Try again!"
  452.         won = 1
  453.         call ttt:clr()
  454.         call ttt:wwon()
  455.     elseif (b7="X" and c7="X" and d7="X")
  456.         message "Congratulations!  You won!"
  457.         won = 1
  458.         call ttt:clr()    
  459.         call ttt:ywon()    
  460.     elseif (b7="O" and c7="O" and d7="O")
  461.         message "Sorry, Wingz won. Try again!"
  462.         won = 1
  463.         call ttt:clr()
  464.         call ttt:wwon()
  465.     elseif (b8="X" and c8="X" and d8="X")
  466.         message "Congratulations!  You won!"
  467.         won = 1
  468.         call ttt:clr()
  469.         call ttt:ywon()
  470.     elseif (b8="O" and c8="O" and d8="O")
  471.         message "Sorry, Wingz won. Try again!"
  472.         won = 1
  473.         call ttt:clr()
  474.         call ttt:wwon()
  475.     elseif (b6="X" and b7="X" and b8="X")
  476.         message "Congratulations!  You won!"
  477.         won = 1
  478.         call ttt:clr()
  479.         call ttt:ywon()
  480.     elseif (b6="O" and b7="O" and b8="O")
  481.         message "Sorry, Wingz won. Try again!"
  482.         won = 1
  483.         call ttt:clr()
  484.         call ttt:wwon()
  485.     elseif (c6="X" and c7="X" and c8="X")
  486.         message "Congratulations!  You won!"
  487.         won = 1
  488.         call ttt:clr()
  489.         call ttt:ywon()
  490.     elseif (c6="O" and c7="O" and c8="O")
  491.         message "Sorry, Wingz won. Try again!"
  492.         won = 1
  493.         call ttt:clr()
  494.         call ttt:wwon()
  495.     elseif (d6="X" and d7="X" and d8="X")
  496.         message "Congratulations!  You won!"
  497.         won = 1
  498.         call ttt:clr()
  499.         call ttt:ywon()
  500.     elseif (d6="O" and d7="O" and d8="O")
  501.         message "Sorry, Wingz won. Try again!"
  502.         won = 1
  503.         call ttt:clr()
  504.         call ttt:wwon()
  505.     elseif (b6="X" and c7="X" and d8="X")
  506.         message "Congratulations!  You won!"
  507.         won = 1
  508.         call ttt:clr()
  509.         call ttt:ywon()    
  510.     elseif (b6="O" and c7="O" and d8="O")
  511.         message "Sorry, Wingz won. Try again!"
  512.         won = 1
  513.         call ttt:clr()
  514.         call ttt:wwon()
  515.     elseif (d6="X" and c7="X" and b8="X")
  516.         message "Congratulations!  You won!"
  517.         won = 1
  518.         call ttt:clr()
  519.         call ttt:ywon()
  520.     elseif (d6="O" and c7="O" and b8="O")
  521.         message "Sorry, Wingz won. Try again!"
  522.         won = 1
  523.         call ttt:clr()
  524.         call ttt:wwon()
  525.     end if
  526.     if isblank(b6)=0 and isblank(b7)=0 and isblank(b8)=0 and isblank(c6)=0
  527.           and isblank(c7)=0 and isblank(c8)=0 and isblank(d6)=0 and isblank(d7)=0
  528.           and isblank(d8) = 0
  529.         message "Cat game. Play again."
  530.         call ttt:catwon()
  531.         won = 2
  532.         rep = 1
  533.         call ttt:clr()
  534.     end if
  535.     if won = 1 or won = 2
  536.         call ttt:frmt()
  537.         flag = 1
  538.         won = 0
  539.     end if
  540.   end if
  541. end function
  542. function clr()
  543.     repaint off
  544.     select range b6..d8
  545.     clear
  546.     unselect
  547.     repaint on
  548.     repaint range b6..d8
  549. end function
  550. function catwon()
  551. define scr
  552.     scr = d2
  553.     scr = scr + 1
  554.     put scr into d2
  555. end function
  556. function ywon()
  557. define scr
  558.     scr = b2
  559.     scr = scr + 1
  560.     put scr into b2
  561. end function
  562. function wwon()
  563. define scr
  564.     scr = c2
  565.     scr = scr + 1
  566.     put scr into c2
  567. end function
  568.